using System;
using ChessKit.ChessLogics.Internals;

namespace ChessKit.ChessLogics
{
  [Flags]
  public enum MoveHint
  {
    None,
    
    Castling = 0x1,

    KingSideCastling = 0x2 | Castling,
    QueenSideCastling = 0x4 | Castling,

    Take = 0x10, // TODO: Rename 'capture' (csv files)
    EnPassant = 0x20,
    Promotion = 0x40,
    PawnDoubleMove = 0x80,
    PawnMove = 0x100,
    KingMove = 0x200,
    RookMove = 0x400,
    BishopMove = 0x800,
    KnightMove = 0x1000,
    QueenMove = 0x2000,
    GivesCheck = 0x4000,

    PawnCaptures = PawnMove | Take,
  }
}